
_Soft_UART_Write_Text:

;cottero.c,35 :: 		void Soft_UART_Write_Text(char* testo) {
;cottero.c,37 :: 		for (cnt=0; cnt<strlen(testo); cnt++) {
	CLRF        Soft_UART_Write_Text_cnt_L0+0 
L_Soft_UART_Write_Text0:
	MOVF        FARG_Soft_UART_Write_Text_testo+0, 0 
	MOVWF       FARG_strlen_s+0 
	MOVF        FARG_Soft_UART_Write_Text_testo+1, 0 
	MOVWF       FARG_strlen_s+1 
	CALL        _strlen+0, 0
	MOVLW       128
	MOVWF       R2 
	MOVLW       128
	XORWF       R1, 0 
	SUBWF       R2, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__Soft_UART_Write_Text50
	MOVF        R0, 0 
	SUBWF       Soft_UART_Write_Text_cnt_L0+0, 0 
L__Soft_UART_Write_Text50:
	BTFSC       STATUS+0, 0 
	GOTO        L_Soft_UART_Write_Text1
;cottero.c,38 :: 		Soft_UART_Write(testo[cnt]);
	MOVF        Soft_UART_Write_Text_cnt_L0+0, 0 
	ADDWF       FARG_Soft_UART_Write_Text_testo+0, 0 
	MOVWF       FSR0L 
	MOVLW       0
	ADDWFC      FARG_Soft_UART_Write_Text_testo+1, 0 
	MOVWF       FSR0H 
	MOVF        POSTINC0+0, 0 
	MOVWF       FARG_Soft_UART_Write_udata+0 
	CALL        _Soft_UART_Write+0, 0
;cottero.c,37 :: 		for (cnt=0; cnt<strlen(testo); cnt++) {
	INCF        Soft_UART_Write_Text_cnt_L0+0, 1 
;cottero.c,39 :: 		}
	GOTO        L_Soft_UART_Write_Text0
L_Soft_UART_Write_Text1:
;cottero.c,40 :: 		}
	RETURN      0
; end of _Soft_UART_Write_Text

_ADXL345_Wr:

;cottero.c,44 :: 		void ADXL345_Wr(unsigned short address, unsigned short in) {
;cottero.c,45 :: 		I2C1_Start();
	CALL        _I2C1_Start+0, 0
;cottero.c,46 :: 		I2C1_Wr(0x3A);      // Write mode
	MOVLW       58
	MOVWF       FARG_I2C1_Wr_data_+0 
	CALL        _I2C1_Wr+0, 0
;cottero.c,47 :: 		I2C1_Wr(address);
	MOVF        FARG_ADXL345_Wr_address+0, 0 
	MOVWF       FARG_I2C1_Wr_data_+0 
	CALL        _I2C1_Wr+0, 0
;cottero.c,48 :: 		I2C1_Wr(in);
	MOVF        FARG_ADXL345_Wr_in+0, 0 
	MOVWF       FARG_I2C1_Wr_data_+0 
	CALL        _I2C1_Wr+0, 0
;cottero.c,49 :: 		I2C1_Stop();
	CALL        _I2C1_Stop+0, 0
;cottero.c,50 :: 		}
	RETURN      0
; end of _ADXL345_Wr

_ADXL345_Rd:

;cottero.c,54 :: 		unsigned short ADXL345_Rd(unsigned short address) {
;cottero.c,56 :: 		I2C1_Start();
	CALL        _I2C1_Start+0, 0
;cottero.c,57 :: 		I2C1_Wr(0x3A);      // Write mode
	MOVLW       58
	MOVWF       FARG_I2C1_Wr_data_+0 
	CALL        _I2C1_Wr+0, 0
;cottero.c,58 :: 		I2C1_Wr(address);
	MOVF        FARG_ADXL345_Rd_address+0, 0 
	MOVWF       FARG_I2C1_Wr_data_+0 
	CALL        _I2C1_Wr+0, 0
;cottero.c,59 :: 		I2C1_Stop();
	CALL        _I2C1_Stop+0, 0
;cottero.c,60 :: 		I2C1_Start();
	CALL        _I2C1_Start+0, 0
;cottero.c,61 :: 		I2C1_Wr(0x3B);      // Read Mode
	MOVLW       59
	MOVWF       FARG_I2C1_Wr_data_+0 
	CALL        _I2C1_Wr+0, 0
;cottero.c,62 :: 		out = I2C1_Rd(0);
	CLRF        FARG_I2C1_Rd_ack+0 
	CALL        _I2C1_Rd+0, 0
	MOVF        R0, 0 
	MOVWF       ADXL345_Rd_out_L0+0 
;cottero.c,63 :: 		I2C1_Stop();
	CALL        _I2C1_Stop+0, 0
;cottero.c,64 :: 		return out;
	MOVF        ADXL345_Rd_out_L0+0, 0 
	MOVWF       R0 
;cottero.c,65 :: 		}
	RETURN      0
; end of _ADXL345_Rd

_ADXL345_getAcc:

;cottero.c,71 :: 		void ADXL345_getAcc(int *acc) {
;cottero.c,76 :: 		I2C1_Start();
	CALL        _I2C1_Start+0, 0
;cottero.c,77 :: 		I2C1_Wr(0x3A);      // Write mode
	MOVLW       58
	MOVWF       FARG_I2C1_Wr_data_+0 
	CALL        _I2C1_Wr+0, 0
;cottero.c,78 :: 		I2C1_Wr(0x32);
	MOVLW       50
	MOVWF       FARG_I2C1_Wr_data_+0 
	CALL        _I2C1_Wr+0, 0
;cottero.c,79 :: 		I2C1_Stop();
	CALL        _I2C1_Stop+0, 0
;cottero.c,80 :: 		I2C1_Start();
	CALL        _I2C1_Start+0, 0
;cottero.c,81 :: 		I2C1_Wr(0x3B);      // Read Mode
	MOVLW       59
	MOVWF       FARG_I2C1_Wr_data_+0 
	CALL        _I2C1_Wr+0, 0
;cottero.c,82 :: 		for (cnt=0; cnt<6; cnt++) {
	CLRF        ADXL345_getAcc_cnt_L0+0 
L_ADXL345_getAcc3:
	MOVLW       6
	SUBWF       ADXL345_getAcc_cnt_L0+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_ADXL345_getAcc4
;cottero.c,84 :: 		ack = (cnt<5);
	MOVLW       5
	SUBWF       ADXL345_getAcc_cnt_L0+0, 0 
	MOVLW       1
	BTFSC       STATUS+0, 0 
	MOVLW       0
	MOVWF       FARG_I2C1_Rd_ack+0 
;cottero.c,85 :: 		acc_tmp[cnt] = I2C1_Rd(ack);
	MOVLW       ADXL345_getAcc_acc_tmp_L0+0
	MOVWF       FLOC__ADXL345_getAcc+0 
	MOVLW       hi_addr(ADXL345_getAcc_acc_tmp_L0+0)
	MOVWF       FLOC__ADXL345_getAcc+1 
	MOVF        ADXL345_getAcc_cnt_L0+0, 0 
	ADDWF       FLOC__ADXL345_getAcc+0, 1 
	BTFSC       STATUS+0, 0 
	INCF        FLOC__ADXL345_getAcc+1, 1 
	CALL        _I2C1_Rd+0, 0
	MOVFF       FLOC__ADXL345_getAcc+0, FSR1L
	MOVFF       FLOC__ADXL345_getAcc+1, FSR1H
	MOVF        R0, 0 
	MOVWF       POSTINC1+0 
;cottero.c,82 :: 		for (cnt=0; cnt<6; cnt++) {
	INCF        ADXL345_getAcc_cnt_L0+0, 1 
;cottero.c,86 :: 		}
	GOTO        L_ADXL345_getAcc3
L_ADXL345_getAcc4:
;cottero.c,87 :: 		I2C1_Stop();
	CALL        _I2C1_Stop+0, 0
;cottero.c,89 :: 		acc[0] = acc_tmp[1];
	MOVFF       FARG_ADXL345_getAcc_acc+0, FSR1L
	MOVFF       FARG_ADXL345_getAcc_acc+1, FSR1H
	MOVF        ADXL345_getAcc_acc_tmp_L0+1, 0 
	MOVWF       POSTINC1+0 
	MOVLW       0
	MOVWF       POSTINC1+0 
;cottero.c,90 :: 		acc[0] = acc[0] << 8;
	MOVFF       FARG_ADXL345_getAcc_acc+0, FSR0L
	MOVFF       FARG_ADXL345_getAcc_acc+1, FSR0H
	MOVF        POSTINC0+0, 0 
	MOVWF       R3 
	MOVF        POSTINC0+0, 0 
	MOVWF       R4 
	MOVF        R3, 0 
	MOVWF       R1 
	CLRF        R0 
	MOVFF       FARG_ADXL345_getAcc_acc+0, FSR1L
	MOVFF       FARG_ADXL345_getAcc_acc+1, FSR1H
	MOVF        R0, 0 
	MOVWF       POSTINC1+0 
	MOVF        R1, 0 
	MOVWF       POSTINC1+0 
;cottero.c,91 :: 		acc[0] |= acc_tmp[0];
	MOVFF       FARG_ADXL345_getAcc_acc+0, FSR0L
	MOVFF       FARG_ADXL345_getAcc_acc+1, FSR0H
	MOVF        POSTINC0+0, 0 
	MOVWF       R0 
	MOVF        POSTINC0+0, 0 
	MOVWF       R1 
	MOVF        ADXL345_getAcc_acc_tmp_L0+0, 0 
	IORWF       R0, 1 
	MOVLW       0
	IORWF       R1, 1 
	MOVFF       FARG_ADXL345_getAcc_acc+0, FSR1L
	MOVFF       FARG_ADXL345_getAcc_acc+1, FSR1H
	MOVF        R0, 0 
	MOVWF       POSTINC1+0 
	MOVF        R1, 0 
	MOVWF       POSTINC1+0 
;cottero.c,92 :: 		acc[1] = acc_tmp[3];
	MOVLW       2
	ADDWF       FARG_ADXL345_getAcc_acc+0, 0 
	MOVWF       FSR1L 
	MOVLW       0
	ADDWFC      FARG_ADXL345_getAcc_acc+1, 0 
	MOVWF       FSR1H 
	MOVF        ADXL345_getAcc_acc_tmp_L0+3, 0 
	MOVWF       POSTINC1+0 
	MOVLW       0
	MOVWF       POSTINC1+0 
;cottero.c,93 :: 		acc[1] = acc[1] << 8;
	MOVLW       2
	ADDWF       FARG_ADXL345_getAcc_acc+0, 0 
	MOVWF       FSR1L 
	MOVLW       0
	ADDWFC      FARG_ADXL345_getAcc_acc+1, 0 
	MOVWF       FSR1H 
	MOVLW       2
	ADDWF       FARG_ADXL345_getAcc_acc+0, 0 
	MOVWF       FSR0L 
	MOVLW       0
	ADDWFC      FARG_ADXL345_getAcc_acc+1, 0 
	MOVWF       FSR0H 
	MOVF        POSTINC0+0, 0 
	MOVWF       R3 
	MOVF        POSTINC0+0, 0 
	MOVWF       R4 
	MOVF        R3, 0 
	MOVWF       R1 
	CLRF        R0 
	MOVF        R0, 0 
	MOVWF       POSTINC1+0 
	MOVF        R1, 0 
	MOVWF       POSTINC1+0 
;cottero.c,94 :: 		acc[1] |= acc_tmp[2];
	MOVLW       2
	ADDWF       FARG_ADXL345_getAcc_acc+0, 0 
	MOVWF       R2 
	MOVLW       0
	ADDWFC      FARG_ADXL345_getAcc_acc+1, 0 
	MOVWF       R3 
	MOVFF       R2, FSR0L
	MOVFF       R3, FSR0H
	MOVF        POSTINC0+0, 0 
	MOVWF       R0 
	MOVF        POSTINC0+0, 0 
	MOVWF       R1 
	MOVF        ADXL345_getAcc_acc_tmp_L0+2, 0 
	IORWF       R0, 1 
	MOVLW       0
	IORWF       R1, 1 
	MOVFF       R2, FSR1L
	MOVFF       R3, FSR1H
	MOVF        R0, 0 
	MOVWF       POSTINC1+0 
	MOVF        R1, 0 
	MOVWF       POSTINC1+0 
;cottero.c,95 :: 		acc[2] = acc_tmp[5];
	MOVLW       4
	ADDWF       FARG_ADXL345_getAcc_acc+0, 0 
	MOVWF       FSR1L 
	MOVLW       0
	ADDWFC      FARG_ADXL345_getAcc_acc+1, 0 
	MOVWF       FSR1H 
	MOVF        ADXL345_getAcc_acc_tmp_L0+5, 0 
	MOVWF       POSTINC1+0 
	MOVLW       0
	MOVWF       POSTINC1+0 
;cottero.c,96 :: 		acc[2] = acc[2] << 8;
	MOVLW       4
	ADDWF       FARG_ADXL345_getAcc_acc+0, 0 
	MOVWF       FSR1L 
	MOVLW       0
	ADDWFC      FARG_ADXL345_getAcc_acc+1, 0 
	MOVWF       FSR1H 
	MOVLW       4
	ADDWF       FARG_ADXL345_getAcc_acc+0, 0 
	MOVWF       FSR0L 
	MOVLW       0
	ADDWFC      FARG_ADXL345_getAcc_acc+1, 0 
	MOVWF       FSR0H 
	MOVF        POSTINC0+0, 0 
	MOVWF       R3 
	MOVF        POSTINC0+0, 0 
	MOVWF       R4 
	MOVF        R3, 0 
	MOVWF       R1 
	CLRF        R0 
	MOVF        R0, 0 
	MOVWF       POSTINC1+0 
	MOVF        R1, 0 
	MOVWF       POSTINC1+0 
;cottero.c,97 :: 		acc[2] |= acc_tmp[4];
	MOVLW       4
	ADDWF       FARG_ADXL345_getAcc_acc+0, 0 
	MOVWF       R2 
	MOVLW       0
	ADDWFC      FARG_ADXL345_getAcc_acc+1, 0 
	MOVWF       R3 
	MOVFF       R2, FSR0L
	MOVFF       R3, FSR0H
	MOVF        POSTINC0+0, 0 
	MOVWF       R0 
	MOVF        POSTINC0+0, 0 
	MOVWF       R1 
	MOVF        ADXL345_getAcc_acc_tmp_L0+4, 0 
	IORWF       R0, 1 
	MOVLW       0
	IORWF       R1, 1 
	MOVFF       R2, FSR1L
	MOVFF       R3, FSR1H
	MOVF        R0, 0 
	MOVWF       POSTINC1+0 
	MOVF        R1, 0 
	MOVWF       POSTINC1+0 
;cottero.c,98 :: 		}
	RETURN      0
; end of _ADXL345_getAcc

_dataArrayInit:

;cottero.c,102 :: 		void dataArrayInit(int *fifox, int *fifoy, int *fifoz) {
;cottero.c,105 :: 		for (cnt=0; cnt<TABLE_DIM; cnt++) {
	CLRF        dataArrayInit_cnt_L0+0 
L_dataArrayInit6:
	MOVLW       16
	SUBWF       dataArrayInit_cnt_L0+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_dataArrayInit7
;cottero.c,106 :: 		ADXL345_getAcc(&acc_tmp);
	MOVLW       dataArrayInit_acc_tmp_L0+0
	MOVWF       FARG_ADXL345_getAcc_acc+0 
	MOVLW       hi_addr(dataArrayInit_acc_tmp_L0+0)
	MOVWF       FARG_ADXL345_getAcc_acc+1 
	CALL        _ADXL345_getAcc+0, 0
;cottero.c,107 :: 		fifox[cnt] = acc_tmp[0];
	MOVF        dataArrayInit_cnt_L0+0, 0 
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_dataArrayInit_fifox+0, 0 
	MOVWF       FSR1L 
	MOVF        R1, 0 
	ADDWFC      FARG_dataArrayInit_fifox+1, 0 
	MOVWF       FSR1H 
	MOVF        dataArrayInit_acc_tmp_L0+0, 0 
	MOVWF       POSTINC1+0 
	MOVF        dataArrayInit_acc_tmp_L0+1, 0 
	MOVWF       POSTINC1+0 
;cottero.c,108 :: 		fifoy[cnt] = acc_tmp[1];
	MOVF        dataArrayInit_cnt_L0+0, 0 
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_dataArrayInit_fifoy+0, 0 
	MOVWF       FSR1L 
	MOVF        R1, 0 
	ADDWFC      FARG_dataArrayInit_fifoy+1, 0 
	MOVWF       FSR1H 
	MOVF        dataArrayInit_acc_tmp_L0+2, 0 
	MOVWF       POSTINC1+0 
	MOVF        dataArrayInit_acc_tmp_L0+3, 0 
	MOVWF       POSTINC1+0 
;cottero.c,109 :: 		fifoz[cnt] = acc_tmp[2];
	MOVF        dataArrayInit_cnt_L0+0, 0 
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_dataArrayInit_fifoz+0, 0 
	MOVWF       FSR1L 
	MOVF        R1, 0 
	ADDWFC      FARG_dataArrayInit_fifoz+1, 0 
	MOVWF       FSR1H 
	MOVF        dataArrayInit_acc_tmp_L0+4, 0 
	MOVWF       POSTINC1+0 
	MOVF        dataArrayInit_acc_tmp_L0+5, 0 
	MOVWF       POSTINC1+0 
;cottero.c,105 :: 		for (cnt=0; cnt<TABLE_DIM; cnt++) {
	INCF        dataArrayInit_cnt_L0+0, 1 
;cottero.c,110 :: 		}
	GOTO        L_dataArrayInit6
L_dataArrayInit7:
;cottero.c,111 :: 		}
	RETURN      0
; end of _dataArrayInit

_dataArrayUpdate:

;cottero.c,115 :: 		void dataArrayUpdate(int *fifox, int *fifoy, int *fifoz) {
;cottero.c,118 :: 		if (table_pointer < 0 || table_pointer >= TABLE_DIM) table_pointer = 0;
	MOVLW       0
	SUBWF       dataArrayUpdate_table_pointer_L0+0, 0 
	BTFSS       STATUS+0, 0 
	GOTO        L__dataArrayUpdate49
	MOVLW       16
	SUBWF       dataArrayUpdate_table_pointer_L0+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L__dataArrayUpdate49
	GOTO        L_dataArrayUpdate11
L__dataArrayUpdate49:
	CLRF        dataArrayUpdate_table_pointer_L0+0 
L_dataArrayUpdate11:
;cottero.c,119 :: 		ADXL345_getAcc(&acc_tmp);
	MOVLW       dataArrayUpdate_acc_tmp_L0+0
	MOVWF       FARG_ADXL345_getAcc_acc+0 
	MOVLW       hi_addr(dataArrayUpdate_acc_tmp_L0+0)
	MOVWF       FARG_ADXL345_getAcc_acc+1 
	CALL        _ADXL345_getAcc+0, 0
;cottero.c,120 :: 		fifox[table_pointer] = acc_tmp[0];
	MOVF        dataArrayUpdate_table_pointer_L0+0, 0 
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_dataArrayUpdate_fifox+0, 0 
	MOVWF       FSR1L 
	MOVF        R1, 0 
	ADDWFC      FARG_dataArrayUpdate_fifox+1, 0 
	MOVWF       FSR1H 
	MOVF        dataArrayUpdate_acc_tmp_L0+0, 0 
	MOVWF       POSTINC1+0 
	MOVF        dataArrayUpdate_acc_tmp_L0+1, 0 
	MOVWF       POSTINC1+0 
;cottero.c,121 :: 		fifoy[table_pointer] = acc_tmp[1];
	MOVF        dataArrayUpdate_table_pointer_L0+0, 0 
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_dataArrayUpdate_fifoy+0, 0 
	MOVWF       FSR1L 
	MOVF        R1, 0 
	ADDWFC      FARG_dataArrayUpdate_fifoy+1, 0 
	MOVWF       FSR1H 
	MOVF        dataArrayUpdate_acc_tmp_L0+2, 0 
	MOVWF       POSTINC1+0 
	MOVF        dataArrayUpdate_acc_tmp_L0+3, 0 
	MOVWF       POSTINC1+0 
;cottero.c,122 :: 		fifoz[table_pointer] = acc_tmp[2];
	MOVF        dataArrayUpdate_table_pointer_L0+0, 0 
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_dataArrayUpdate_fifoz+0, 0 
	MOVWF       FSR1L 
	MOVF        R1, 0 
	ADDWFC      FARG_dataArrayUpdate_fifoz+1, 0 
	MOVWF       FSR1H 
	MOVF        dataArrayUpdate_acc_tmp_L0+4, 0 
	MOVWF       POSTINC1+0 
	MOVF        dataArrayUpdate_acc_tmp_L0+5, 0 
	MOVWF       POSTINC1+0 
;cottero.c,123 :: 		table_pointer++;
	INCF        dataArrayUpdate_table_pointer_L0+0, 1 
;cottero.c,124 :: 		}
	RETURN      0
; end of _dataArrayUpdate

_dataArrayFilter:

;cottero.c,128 :: 		int dataArrayFilter(int *fifo) {
;cottero.c,130 :: 		long value = 0;
	CLRF        dataArrayFilter_value_L0+0 
	CLRF        dataArrayFilter_value_L0+1 
	CLRF        dataArrayFilter_value_L0+2 
	CLRF        dataArrayFilter_value_L0+3 
;cottero.c,131 :: 		for (cnt=0; cnt<TABLE_DIM; cnt++) {
	CLRF        R5 
L_dataArrayFilter12:
	MOVLW       16
	SUBWF       R5, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_dataArrayFilter13
;cottero.c,132 :: 		value += fifo[cnt];
	MOVF        R5, 0 
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_dataArrayFilter_fifo+0, 0 
	MOVWF       FSR2L 
	MOVF        R1, 0 
	ADDWFC      FARG_dataArrayFilter_fifo+1, 0 
	MOVWF       FSR2H 
	MOVF        POSTINC2+0, 0 
	MOVWF       R0 
	MOVF        POSTINC2+0, 0 
	MOVWF       R1 
	MOVF        R0, 0 
	ADDWF       dataArrayFilter_value_L0+0, 1 
	MOVF        R1, 0 
	ADDWFC      dataArrayFilter_value_L0+1, 1 
	MOVLW       0
	BTFSC       R1, 7 
	MOVLW       255
	ADDWFC      dataArrayFilter_value_L0+2, 1 
	ADDWFC      dataArrayFilter_value_L0+3, 1 
;cottero.c,131 :: 		for (cnt=0; cnt<TABLE_DIM; cnt++) {
	INCF        R5, 1 
;cottero.c,133 :: 		}
	GOTO        L_dataArrayFilter12
L_dataArrayFilter13:
;cottero.c,134 :: 		return (int)(value/TABLE_DIM);
	MOVLW       4
	MOVWF       R4 
	MOVF        dataArrayFilter_value_L0+0, 0 
	MOVWF       R0 
	MOVF        dataArrayFilter_value_L0+1, 0 
	MOVWF       R1 
	MOVF        dataArrayFilter_value_L0+2, 0 
	MOVWF       R2 
	MOVF        dataArrayFilter_value_L0+3, 0 
	MOVWF       R3 
	MOVF        R4, 0 
L__dataArrayFilter51:
	BZ          L__dataArrayFilter52
	RRCF        R3, 1 
	RRCF        R2, 1 
	RRCF        R1, 1 
	RRCF        R0, 1 
	BCF         R3, 7 
	BTFSC       R3, 6 
	BSF         R3, 7 
	ADDLW       255
	GOTO        L__dataArrayFilter51
L__dataArrayFilter52:
;cottero.c,135 :: 		}
	RETURN      0
; end of _dataArrayFilter

_Motor_ctrl:

;cottero.c,137 :: 		void Motor_ctrl(){
;cottero.c,139 :: 		cnt1 = max = 0;
	CLRF        R3 
	CLRF        R2 
;cottero.c,141 :: 		if(tdown==20) {
	MOVF        _tdown+0, 0 
	XORLW       20
	BTFSS       STATUS+0, 2 
	GOTO        L_Motor_ctrl15
;cottero.c,142 :: 		M1 = M2 = M3 = MS = MOTOR_ON;
	BCF         PORTB+0, 5 
	BTFSC       PORTB+0, 5 
	GOTO        L__Motor_ctrl53
	BCF         PORTB+0, 4 
	GOTO        L__Motor_ctrl54
L__Motor_ctrl53:
	BSF         PORTB+0, 4 
L__Motor_ctrl54:
	BTFSC       PORTB+0, 4 
	GOTO        L__Motor_ctrl55
	BCF         PORTB+0, 3 
	GOTO        L__Motor_ctrl56
L__Motor_ctrl55:
	BSF         PORTB+0, 3 
L__Motor_ctrl56:
	BTFSC       PORTB+0, 3 
	GOTO        L__Motor_ctrl57
	BCF         PORTB+0, 2 
	GOTO        L__Motor_ctrl58
L__Motor_ctrl57:
	BSF         PORTB+0, 2 
L__Motor_ctrl58:
;cottero.c,143 :: 		}
L_Motor_ctrl15:
;cottero.c,144 :: 		if(tdown==21) {
	MOVF        _tdown+0, 0 
	XORLW       21
	BTFSS       STATUS+0, 2 
	GOTO        L_Motor_ctrl16
;cottero.c,145 :: 		tdown = 0;
	CLRF        _tdown+0 
;cottero.c,146 :: 		T0CON.TMR0ON=0;
	BCF         T0CON+0, 7 
;cottero.c,147 :: 		for(cnt=0; cnt<4; cnt++) {                              // Finds the maximum value of those set by PID
	CLRF        R1 
L_Motor_ctrl17:
	MOVLW       4
	SUBWF       R1, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_Motor_ctrl18
;cottero.c,148 :: 		max = (val_motors[cnt]>=max) ? val_motors[cnt] : max; // To not calculate every time the state of all lines
	MOVLW       _val_motors+0
	MOVWF       FSR0L 
	MOVLW       hi_addr(_val_motors+0)
	MOVWF       FSR0H 
	MOVF        R1, 0 
	ADDWF       FSR0L, 1 
	BTFSC       STATUS+0, 0 
	INCF        FSR0H, 1 
	MOVF        R3, 0 
	SUBWF       POSTINC0+0, 0 
	BTFSS       STATUS+0, 0 
	GOTO        L_Motor_ctrl20
	MOVLW       _val_motors+0
	MOVWF       FSR0L 
	MOVLW       hi_addr(_val_motors+0)
	MOVWF       FSR0H 
	MOVF        R1, 0 
	ADDWF       FSR0L, 1 
	BTFSC       STATUS+0, 0 
	INCF        FSR0H, 1 
	MOVF        POSTINC0+0, 0 
	MOVWF       R0 
	GOTO        L_Motor_ctrl21
L_Motor_ctrl20:
	MOVF        R3, 0 
	MOVWF       R0 
L_Motor_ctrl21:
	MOVF        R0, 0 
	MOVWF       R3 
;cottero.c,147 :: 		for(cnt=0; cnt<4; cnt++) {                              // Finds the maximum value of those set by PID
	INCF        R1, 1 
;cottero.c,149 :: 		}
	GOTO        L_Motor_ctrl17
L_Motor_ctrl18:
;cottero.c,150 :: 		while(cnt1<=max) {
L_Motor_ctrl22:
	MOVF        R2, 0 
	SUBWF       R3, 0 
	BTFSS       STATUS+0, 0 
	GOTO        L_Motor_ctrl23
;cottero.c,151 :: 		if(cnt1==val_motors[0]) M1 = !MOTOR_ON;
	MOVF        R2, 0 
	XORWF       _val_motors+0, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L_Motor_ctrl24
	BSF         PORTB+0, 2 
L_Motor_ctrl24:
;cottero.c,152 :: 		if(cnt1==val_motors[1]) M2 = !MOTOR_ON;
	MOVF        R2, 0 
	XORWF       _val_motors+1, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L_Motor_ctrl25
	BSF         PORTB+0, 3 
L_Motor_ctrl25:
;cottero.c,153 :: 		if(cnt1==val_motors[2]) M3 = !MOTOR_ON;
	MOVF        R2, 0 
	XORWF       _val_motors+2, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L_Motor_ctrl26
	BSF         PORTB+0, 4 
L_Motor_ctrl26:
;cottero.c,154 :: 		if(cnt1==val_motors[3]) MS = !MOTOR_ON;
	MOVF        R2, 0 
	XORWF       _val_motors+3, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L_Motor_ctrl27
	BSF         PORTB+0, 5 
L_Motor_ctrl27:
;cottero.c,155 :: 		Delay_us(8);
	MOVLW       31
	MOVWF       R13, 0
L_Motor_ctrl28:
	DECFSZ      R13, 1, 1
	BRA         L_Motor_ctrl28
	NOP
	NOP
;cottero.c,156 :: 		cnt1++;
	INCF        R2, 1 
;cottero.c,157 :: 		}
	GOTO        L_Motor_ctrl22
L_Motor_ctrl23:
;cottero.c,158 :: 		cnt1=max=0;
	CLRF        R3 
	CLRF        R2 
;cottero.c,159 :: 		TMR0L=70;
	MOVLW       70
	MOVWF       TMR0L+0 
;cottero.c,160 :: 		T0CON.TMR0ON=1;
	BSF         T0CON+0, 7 
;cottero.c,161 :: 		}
L_Motor_ctrl16:
;cottero.c,162 :: 		}
	RETURN      0
; end of _Motor_ctrl

_ESC_startup:

;cottero.c,167 :: 		void ESC_startup(){
;cottero.c,168 :: 		unsigned short cnt=0;
	CLRF        ESC_startup_cnt_L0+0 
;cottero.c,169 :: 		while(cnt<200) {
L_ESC_startup29:
	MOVLW       200
	SUBWF       ESC_startup_cnt_L0+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_ESC_startup30
;cottero.c,170 :: 		M1 = M2 = M3 = MOTOR_ON;
	BCF         PORTB+0, 4 
	BTFSC       PORTB+0, 4 
	GOTO        L__ESC_startup59
	BCF         PORTB+0, 3 
	GOTO        L__ESC_startup60
L__ESC_startup59:
	BSF         PORTB+0, 3 
L__ESC_startup60:
	BTFSC       PORTB+0, 3 
	GOTO        L__ESC_startup61
	BCF         PORTB+0, 2 
	GOTO        L__ESC_startup62
L__ESC_startup61:
	BSF         PORTB+0, 2 
L__ESC_startup62:
;cottero.c,171 :: 		Delay_ms(1);
	MOVLW       16
	MOVWF       R12, 0
	MOVLW       148
	MOVWF       R13, 0
L_ESC_startup31:
	DECFSZ      R13, 1, 1
	BRA         L_ESC_startup31
	DECFSZ      R12, 1, 1
	BRA         L_ESC_startup31
	NOP
;cottero.c,172 :: 		M1 = M2 = M3 = !MOTOR_ON;
	BSF         PORTB+0, 4 
	BTFSC       PORTB+0, 4 
	GOTO        L__ESC_startup63
	BCF         PORTB+0, 3 
	GOTO        L__ESC_startup64
L__ESC_startup63:
	BSF         PORTB+0, 3 
L__ESC_startup64:
	BTFSC       PORTB+0, 3 
	GOTO        L__ESC_startup65
	BCF         PORTB+0, 2 
	GOTO        L__ESC_startup66
L__ESC_startup65:
	BSF         PORTB+0, 2 
L__ESC_startup66:
;cottero.c,173 :: 		Delay_ms(20);
	MOVLW       2
	MOVWF       R11, 0
	MOVLW       56
	MOVWF       R12, 0
	MOVLW       173
	MOVWF       R13, 0
L_ESC_startup32:
	DECFSZ      R13, 1, 1
	BRA         L_ESC_startup32
	DECFSZ      R12, 1, 1
	BRA         L_ESC_startup32
	DECFSZ      R11, 1, 1
	BRA         L_ESC_startup32
;cottero.c,174 :: 		cnt++;
	INCF        ESC_startup_cnt_L0+0, 1 
;cottero.c,175 :: 		}
	GOTO        L_ESC_startup29
L_ESC_startup30:
;cottero.c,176 :: 		T0CON.TMR0ON=1;
	BSF         T0CON+0, 7 
;cottero.c,177 :: 		}
	RETURN      0
; end of _ESC_startup

_ESC_config:

;cottero.c,183 :: 		void ESC_config(){
;cottero.c,184 :: 		unsigned short cnt=0;
	CLRF        ESC_config_cnt_L0+0 
;cottero.c,185 :: 		while(cnt<150){
L_ESC_config33:
	MOVLW       150
	SUBWF       ESC_config_cnt_L0+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_ESC_config34
;cottero.c,186 :: 		M1 = M2 = M3 = MOTOR_ON;
	BCF         PORTB+0, 4 
	BTFSC       PORTB+0, 4 
	GOTO        L__ESC_config67
	BCF         PORTB+0, 3 
	GOTO        L__ESC_config68
L__ESC_config67:
	BSF         PORTB+0, 3 
L__ESC_config68:
	BTFSC       PORTB+0, 3 
	GOTO        L__ESC_config69
	BCF         PORTB+0, 2 
	GOTO        L__ESC_config70
L__ESC_config69:
	BSF         PORTB+0, 2 
L__ESC_config70:
;cottero.c,187 :: 		Delay_ms(2);
	MOVLW       32
	MOVWF       R12, 0
	MOVLW       41
	MOVWF       R13, 0
L_ESC_config35:
	DECFSZ      R13, 1, 1
	BRA         L_ESC_config35
	DECFSZ      R12, 1, 1
	BRA         L_ESC_config35
	NOP
	NOP
;cottero.c,188 :: 		M1 = M2 = M3 = !MOTOR_ON;
	BSF         PORTB+0, 4 
	BTFSC       PORTB+0, 4 
	GOTO        L__ESC_config71
	BCF         PORTB+0, 3 
	GOTO        L__ESC_config72
L__ESC_config71:
	BSF         PORTB+0, 3 
L__ESC_config72:
	BTFSC       PORTB+0, 3 
	GOTO        L__ESC_config73
	BCF         PORTB+0, 2 
	GOTO        L__ESC_config74
L__ESC_config73:
	BSF         PORTB+0, 2 
L__ESC_config74:
;cottero.c,189 :: 		Delay_ms(20);
	MOVLW       2
	MOVWF       R11, 0
	MOVLW       56
	MOVWF       R12, 0
	MOVLW       173
	MOVWF       R13, 0
L_ESC_config36:
	DECFSZ      R13, 1, 1
	BRA         L_ESC_config36
	DECFSZ      R12, 1, 1
	BRA         L_ESC_config36
	DECFSZ      R11, 1, 1
	BRA         L_ESC_config36
;cottero.c,190 :: 		cnt++;
	INCF        ESC_config_cnt_L0+0, 1 
;cottero.c,191 :: 		}
	GOTO        L_ESC_config33
L_ESC_config34:
;cottero.c,192 :: 		cnt = 0;
	CLRF        ESC_config_cnt_L0+0 
;cottero.c,193 :: 		while(cnt<150){
L_ESC_config37:
	MOVLW       150
	SUBWF       ESC_config_cnt_L0+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_ESC_config38
;cottero.c,194 :: 		M1 = M2 = M3 = MOTOR_ON;
	BCF         PORTB+0, 4 
	BTFSC       PORTB+0, 4 
	GOTO        L__ESC_config75
	BCF         PORTB+0, 3 
	GOTO        L__ESC_config76
L__ESC_config75:
	BSF         PORTB+0, 3 
L__ESC_config76:
	BTFSC       PORTB+0, 3 
	GOTO        L__ESC_config77
	BCF         PORTB+0, 2 
	GOTO        L__ESC_config78
L__ESC_config77:
	BSF         PORTB+0, 2 
L__ESC_config78:
;cottero.c,195 :: 		Delay_ms(1);
	MOVLW       16
	MOVWF       R12, 0
	MOVLW       148
	MOVWF       R13, 0
L_ESC_config39:
	DECFSZ      R13, 1, 1
	BRA         L_ESC_config39
	DECFSZ      R12, 1, 1
	BRA         L_ESC_config39
	NOP
;cottero.c,196 :: 		M1 = M2 = M3 = !MOTOR_ON;
	BSF         PORTB+0, 4 
	BTFSC       PORTB+0, 4 
	GOTO        L__ESC_config79
	BCF         PORTB+0, 3 
	GOTO        L__ESC_config80
L__ESC_config79:
	BSF         PORTB+0, 3 
L__ESC_config80:
	BTFSC       PORTB+0, 3 
	GOTO        L__ESC_config81
	BCF         PORTB+0, 2 
	GOTO        L__ESC_config82
L__ESC_config81:
	BSF         PORTB+0, 2 
L__ESC_config82:
;cottero.c,197 :: 		Delay_ms(20);
	MOVLW       2
	MOVWF       R11, 0
	MOVLW       56
	MOVWF       R12, 0
	MOVLW       173
	MOVWF       R13, 0
L_ESC_config40:
	DECFSZ      R13, 1, 1
	BRA         L_ESC_config40
	DECFSZ      R12, 1, 1
	BRA         L_ESC_config40
	DECFSZ      R11, 1, 1
	BRA         L_ESC_config40
;cottero.c,198 :: 		cnt++;
	INCF        ESC_config_cnt_L0+0, 1 
;cottero.c,199 :: 		}
	GOTO        L_ESC_config37
L_ESC_config38:
;cottero.c,200 :: 		Delay_ms(2000);
	MOVLW       122
	MOVWF       R11, 0
	MOVLW       193
	MOVWF       R12, 0
	MOVLW       129
	MOVWF       R13, 0
L_ESC_config41:
	DECFSZ      R13, 1, 1
	BRA         L_ESC_config41
	DECFSZ      R12, 1, 1
	BRA         L_ESC_config41
	DECFSZ      R11, 1, 1
	BRA         L_ESC_config41
	NOP
	NOP
;cottero.c,201 :: 		}
	RETURN      0
; end of _ESC_config

_main:

;cottero.c,203 :: 		void main() {
;cottero.c,215 :: 		LED_DIR = 0;      // LED is set as OUTPUT
	BCF         TRISC+0, 2 
;cottero.c,216 :: 		M1_DIR = 0;       // M1 is set as OUTPUT
	BCF         TRISB+0, 2 
;cottero.c,217 :: 		M2_DIR = 0;       // M2 is set as OUTPUT
	BCF         TRISB+0, 3 
;cottero.c,218 :: 		M3_DIR = 0;       // M3 is set as OUTPUT
	BCF         TRISB+0, 4 
;cottero.c,219 :: 		MS_DIR = 0;       // MS is set as OUTPUT
	BCF         TRISB+0, 5 
;cottero.c,222 :: 		ADCON1 = 0x0F;    // Set A/D Disabled
	MOVLW       15
	MOVWF       ADCON1+0 
;cottero.c,223 :: 		CMCON = 0xCF;     // Set Comparator Disabled
	MOVLW       207
	MOVWF       CMCON+0 
;cottero.c,226 :: 		Soft_UART_Init(&PORTB, 6, 7, 38400, 0);
	MOVLW       PORTB+0
	MOVWF       FARG_Soft_UART_Init_port+0 
	MOVLW       hi_addr(PORTB+0)
	MOVWF       FARG_Soft_UART_Init_port+1 
	MOVLW       6
	MOVWF       FARG_Soft_UART_Init_rx_pin+0 
	MOVLW       7
	MOVWF       FARG_Soft_UART_Init_tx_pin+0 
	MOVLW       0
	MOVWF       FARG_Soft_UART_Init_baud_rate+0 
	MOVLW       150
	MOVWF       FARG_Soft_UART_Init_baud_rate+1 
	MOVLW       0
	MOVWF       FARG_Soft_UART_Init_baud_rate+2 
	MOVWF       FARG_Soft_UART_Init_baud_rate+3 
	CLRF        FARG_Soft_UART_Init_inverted+0 
	CALL        _Soft_UART_Init+0, 0
;cottero.c,227 :: 		I2C1_Init(400000);
	MOVLW       30
	MOVWF       SSPADD+0 
	CALL        _I2C1_Init+0, 0
;cottero.c,229 :: 		Delay_ms(2000);
	MOVLW       122
	MOVWF       R11, 0
	MOVLW       193
	MOVWF       R12, 0
	MOVLW       129
	MOVWF       R13, 0
L_main42:
	DECFSZ      R13, 1, 1
	BRA         L_main42
	DECFSZ      R12, 1, 1
	BRA         L_main42
	DECFSZ      R11, 1, 1
	BRA         L_main42
	NOP
	NOP
;cottero.c,232 :: 		T0CON.T0PS0=1;     //Prescaler 1:1
	BSF         T0CON+0, 0 
;cottero.c,233 :: 		T0CON.T0PS1=0;
	BCF         T0CON+0, 1 
;cottero.c,234 :: 		T0CON.T0PS2=1;
	BSF         T0CON+0, 2 
;cottero.c,235 :: 		T0CON.PSA=0;       // Timer Clock Source is from Prescaler
	BCF         T0CON+0, 3 
;cottero.c,236 :: 		T0CON.T0CS=0;      // Prescaler gets clock from FCPU
	BCF         T0CON+0, 5 
;cottero.c,237 :: 		T0CON.T08BIT=1;    // 8 BIT MODE
	BSF         T0CON+0, 6 
;cottero.c,238 :: 		INTCON.TMR0IE=1;   // Enable TIMER0 Interrupt
	BSF         INTCON+0, 5 
;cottero.c,239 :: 		INTCON.PEIE=1;     // Enable Peripheral Interrupt
	BSF         INTCON+0, 6 
;cottero.c,240 :: 		INTCON.GIE=1;      // Enable global interrupt
	BSF         INTCON+0, 7 
;cottero.c,241 :: 		T0CON.TMR0ON=0;
	BCF         T0CON+0, 7 
;cottero.c,242 :: 		TMR0L=68;          // 1mS TMR0 preset
	MOVLW       68
	MOVWF       TMR0L+0 
;cottero.c,243 :: 		TMR0H =0;
	CLRF        TMR0H+0 
;cottero.c,261 :: 		dataArrayInit(&acc_x, &acc_y, &acc_z);
	MOVLW       main_acc_x_L0+0
	MOVWF       FARG_dataArrayInit_fifox+0 
	MOVLW       hi_addr(main_acc_x_L0+0)
	MOVWF       FARG_dataArrayInit_fifox+1 
	MOVLW       main_acc_y_L0+0
	MOVWF       FARG_dataArrayInit_fifoy+0 
	MOVLW       hi_addr(main_acc_y_L0+0)
	MOVWF       FARG_dataArrayInit_fifoy+1 
	MOVLW       main_acc_z_L0+0
	MOVWF       FARG_dataArrayInit_fifoz+0 
	MOVLW       hi_addr(main_acc_z_L0+0)
	MOVWF       FARG_dataArrayInit_fifoz+1 
	CALL        _dataArrayInit+0, 0
;cottero.c,263 :: 		M1 = M2 = M3 = MS = !MOTOR_ON;
	BSF         PORTB+0, 5 
	BTFSC       PORTB+0, 5 
	GOTO        L__main83
	BCF         PORTB+0, 4 
	GOTO        L__main84
L__main83:
	BSF         PORTB+0, 4 
L__main84:
	BTFSC       PORTB+0, 4 
	GOTO        L__main85
	BCF         PORTB+0, 3 
	GOTO        L__main86
L__main85:
	BSF         PORTB+0, 3 
L__main86:
	BTFSC       PORTB+0, 3 
	GOTO        L__main87
	BCF         PORTB+0, 2 
	GOTO        L__main88
L__main87:
	BSF         PORTB+0, 2 
L__main88:
;cottero.c,264 :: 		tdown=0;
	CLRF        _tdown+0 
;cottero.c,265 :: 		val_motors[0]=0;
	CLRF        _val_motors+0 
;cottero.c,266 :: 		val_motors[1]=0;
	CLRF        _val_motors+1 
;cottero.c,267 :: 		val_motors[2]=0;
	CLRF        _val_motors+2 
;cottero.c,268 :: 		val_motors[3]=0;
	CLRF        _val_motors+3 
;cottero.c,270 :: 		ESC_startup();
	CALL        _ESC_startup+0, 0
;cottero.c,271 :: 		val_motors[1]=10;
	MOVLW       10
	MOVWF       _val_motors+1 
;cottero.c,272 :: 		val_motors[2]=30;
	MOVLW       30
	MOVWF       _val_motors+2 
;cottero.c,273 :: 		val_motors[3]=60;
	MOVLW       60
	MOVWF       _val_motors+3 
;cottero.c,276 :: 		while (1) {
L_main43:
;cottero.c,277 :: 		dataArrayUpdate(&acc_x, &acc_y, &acc_z);
	MOVLW       main_acc_x_L0+0
	MOVWF       FARG_dataArrayUpdate_fifox+0 
	MOVLW       hi_addr(main_acc_x_L0+0)
	MOVWF       FARG_dataArrayUpdate_fifox+1 
	MOVLW       main_acc_y_L0+0
	MOVWF       FARG_dataArrayUpdate_fifoy+0 
	MOVLW       hi_addr(main_acc_y_L0+0)
	MOVWF       FARG_dataArrayUpdate_fifoy+1 
	MOVLW       main_acc_z_L0+0
	MOVWF       FARG_dataArrayUpdate_fifoz+0 
	MOVLW       hi_addr(main_acc_z_L0+0)
	MOVWF       FARG_dataArrayUpdate_fifoz+1 
	CALL        _dataArrayUpdate+0, 0
;cottero.c,279 :: 		dataArrayFilter(&acc_x);
	MOVLW       main_acc_x_L0+0
	MOVWF       FARG_dataArrayFilter_fifo+0 
	MOVLW       hi_addr(main_acc_x_L0+0)
	MOVWF       FARG_dataArrayFilter_fifo+1 
	CALL        _dataArrayFilter+0, 0
;cottero.c,280 :: 		dataArrayFilter(&acc_y);
	MOVLW       main_acc_y_L0+0
	MOVWF       FARG_dataArrayFilter_fifo+0 
	MOVLW       hi_addr(main_acc_y_L0+0)
	MOVWF       FARG_dataArrayFilter_fifo+1 
	CALL        _dataArrayFilter+0, 0
;cottero.c,281 :: 		dataArrayFilter(&acc_z);
	MOVLW       main_acc_z_L0+0
	MOVWF       FARG_dataArrayFilter_fifo+0 
	MOVLW       hi_addr(main_acc_z_L0+0)
	MOVWF       FARG_dataArrayFilter_fifo+1 
	CALL        _dataArrayFilter+0, 0
;cottero.c,294 :: 		do
L_main45:
;cottero.c,295 :: 		data_ = Soft_UART_Read(&error);
	MOVLW       _error+0
	MOVWF       FARG_Soft_UART_Read_error+0 
	MOVLW       hi_addr(_error+0)
	MOVWF       FARG_Soft_UART_Read_error+1 
	CALL        _Soft_UART_Read+0, 0
	MOVF        R0, 0 
	MOVWF       _data_+0 
;cottero.c,296 :: 		while (error);
	MOVF        _error+0, 1 
	BTFSS       STATUS+0, 2 
	GOTO        L_main45
;cottero.c,297 :: 		val_motors[0]=data_;
	MOVF        _data_+0, 0 
	MOVWF       _val_motors+0 
;cottero.c,299 :: 		}
	GOTO        L_main43
;cottero.c,300 :: 		}
	GOTO        $+0
; end of _main

_interrupt:

;cottero.c,303 :: 		void interrupt() {
;cottero.c,307 :: 		if( INTCON.TMR0IF ){
	BTFSS       INTCON+0, 2 
	GOTO        L_interrupt48
;cottero.c,308 :: 		TMR0L=70;
	MOVLW       70
	MOVWF       TMR0L+0 
;cottero.c,309 :: 		INTCON.TMR0IF=0;
	BCF         INTCON+0, 2 
;cottero.c,310 :: 		tdown++;
	INCF        _tdown+0, 1 
;cottero.c,311 :: 		Motor_ctrl();
	CALL        _Motor_ctrl+0, 0
;cottero.c,312 :: 		}
L_interrupt48:
;cottero.c,316 :: 		}
L__interrupt89:
	RETFIE      1
; end of _interrupt
